Tomcatが起動しない!java.net.BindException: Address already in use: JVM_Bindを解消した方法

Tomcatが起動しない!java.net.BindException: Address already in use: JVM_Bindを解消した方法

EclipseからTomcatを起動させようとしたらConsoleタブに java.net.BindException: Address already in use: JVM_Bindにより起動に失敗したというメッセージが出力されていた。
今回はそれを解消してTomcatを起動させた方法を残しておきます。

環境

Windows10
Eclipse Juno
Tomcat6

原因を調べた手順

メッセージがAddress already in useなので8080番ポートのプロセスがすでに存在していると思いコマンドプロンプトから以下のコマンドを実施して調べた。

> netstat -ano | find "8080"

しかし、実行しても8080番ポートのプロセスはいない。

もう少し調べていたらTomcatは8080番以外にもポートを使っていることがわかった。
そこで8005番ポートを調べてみると見つかりました。

> netstat -ano | find "8005"
  プロトコル  ローカル アドレス      外部アドレス           状態            PID
  TCP         127.0.0.1:8005         0.0.0.0:0              LISTENING       12744

解決方法

8005番ポートがすでに存在するためTomcatが起動できないので以下のコマンドでプロセスを終了させる。

> taskkill /F /PID 12744<br>
成功: PID 12744 のプロセスは強制終了されました。

このコマンドを実行したあとにEclipseからTomcatを起動させることができました。
今回はTomcatを起動させる前にTomcatの停止と起動をやっていたので8005番はTomcatのプロセスが残っているのだろうと勝手に判断してしまいました。
本当ならプロセスIDからどのプログラムが動作しているのかを確認した方が良かったです。

> netstat -ano | find "8005"
  プロトコル  ローカル アドレス      外部アドレス           状態            PID
  TCP         127.0.0.1:8005         0.0.0.0:0              LISTENING       12744
> tasklist | find "12744"
javaw.exe                    12744 Console                    1     56,496 K

コメント

タイトルとURLをコピーしました